package cn.guoxuepeng.hrm.service;

import cn.guoxuepeng.hrm.controller.dto.IdsDto;
import cn.guoxuepeng.hrm.controller.vo.CourseAddVo;
import cn.guoxuepeng.hrm.domain.CourseByKeyVo;
import cn.guoxuepeng.hrm.domain.Course;
import cn.guoxuepeng.hrm.query.CourseQuery;
import cn.guoxuepeng.hrm.util.AjaxResult;
import cn.guoxuepeng.hrm.util.PageList;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author gxp
 * @since 2020-06-18
 */
public interface ICourseService extends IService<Course> {

    /**
     * 连接课程类型表的高级查询和分页
     * @param courseQuery
     * @return
     */
    Page<Course> myPage(CourseQuery courseQuery);

    /**
     * 添加课程信息的基本信息
     * @param courseAddVo
     */
    void add(CourseAddVo courseAddVo);

    /**
     * 批量上线课程
     * @param dto
     */
    void release(IdsDto dto);

    /**
     * 课程批量下线
     * @param dto
     * @return
     */
    void offline(IdsDto dto);

    /**
     * 前台的课程的关键字查询
     * @param courseByKeyVo
     */
    AjaxResult findCourseByKey(CourseByKeyVo courseByKeyVo);
}
